如何在Sql Server中获取多个字段的最大值?

您所在的位置:网站首页 sql server属于哪个公司 如何在Sql Server中获取多个字段的最大值?

如何在Sql Server中获取多个字段的最大值?

2024-07-11 12:45| 来源: 网络整理| 查看: 265

我有一桌盒子。这些字段是CartonGroup (这个盒子也属于哪个公司)、盒子的大小(可以用作名称)和尺寸。下面是该表的外观:

代码语言:javascript复制+--------------+--------+-----------+-----------+-----------+------------+ | CARTON_GROUP | Size | HEIGHT | WIDTH | LENGTH | MAX_WEIGHT | +--------------+--------+-----------+-----------+-----------+------------+ | 09001 | 900129 | 28.000000 | 20.000000 | 20.000000 | 40.000000 | | 09001 | 900128 | 26.000000 | 20.000000 | 18.000000 | 40.000000 | | 09001 | 900127 | 26.000000 | 20.000000 | 16.000000 | 40.000000 | | 09001 | 900126 | 26.000000 | 20.000000 | 14.000000 | 40.000000 | | 09001 | 900125 | 24.000000 | 18.000000 | 16.000000 | 40.000000 | | 09001 | 90019 | 20.000000 | 16.500000 | 4.500000 | 40.000000 | | 09001 | 90018 | 14.000000 | 8.000000 | 12.000000 | 40.000000 | | 09001 | 90017 | 23.000000 | 18.500000 | 3.000000 | 40.000000 | | 09001 | 90016 | 16.000000 | 4.000000 | 12.000000 | 40.000000 | | 09001 | 90015 | 10.000000 | 8.000000 | 6.000000 | 40.000000 | | 09001 | 90014 | 15.000000 | 12.000000 | 2.000000 | 40.000000 | | 09001 | 90013 | 15.000000 | 12.000000 | 1.000000 | 40.000000 | | 09001 | 90012 | 9.500000 | 0.250000 | 12.500000 | 40.000000 | | 09001 | 90011 | 10.000000 | 0.250000 | 10.000000 | 40.000000 | | 06003 | 60039 | 26.000000 | 18.000000 | 20.000000 | 40.000000 | | 06003 | 60038 | 26.000000 | 12.000000 | 20.000000 | 40.000000 | | 06003 | 60037 | 26.000000 | 10.000000 | 20.000000 | 40.000000 | | 06003 | 60036 | 26.000000 | 8.000000 | 20.000000 | 40.000000 | | 06003 | 60035 | 26.000000 | 6.000000 | 20.000000 | 40.000000 | | 06003 | 60034 | 18.000000 | 10.000000 | 14.000000 | 40.000000 | | 06003 | 60033 | 16.000000 | 8.000000 | 12.000000 | 40.000000 | | 06003 | 60032 | 14.000000 | 8.000000 | 12.000000 | 40.000000 | | 06003 | 60031 | 16.000000 | 4.000000 | 12.000000 | 40.000000 | | 06001 | 60013 | 14.000000 | 8.000000 | 12.000000 | 40.000000 | | 06001 | 60012 | 16.000000 | 4.000000 | 12.000000 | 40.000000 | | 06001 | 60011 | 12.000000 | 4.000000 | 10.000000 | 40.000000 | | 04001 | 40013 | 15.000000 | 25.000000 | 20.000000 | 70.000000 | | 04001 | 40012 | 18.000000 | 18.000000 | 18.000000 | 40.000000 | | 04001 | 40011 | 8.000000 | 5.000000 | 6.000000 | 40.000000 | | 03008 | 30086 | 16.000000 | 8.000000 | 12.000000 | 40.000000 | | 03008 | 30085 | 14.000000 | 8.000000 | 12.000000 | 40.000000 | | 03008 | 30084 | 16.000000 | 4.000000 | 12.000000 | 40.000000 | +--------------+--------+-----------+-----------+-----------+------------+

我想要做的是为每个纸箱组找到最大的盒子。这很简单,这就是你怎么做的。

代码语言:javascript复制select CARTON_GROUP ,MAX(HEIGHT*WIDTH*LENGTH) Cube from CARTONS group by CARTON_GROUP

但我也想在计算中包括大小(名称)。但我不能这样做,因为我不能将大小包含在group by中,因为它是唯一的,它不会被正确地分组。

而且我不能做一个像这样大小的聚合函数

代码语言:javascript复制,max(Size) size

因为我不想要group by的最大大小,我想要group by的最大框的大小(维度的最大值)。

我不能简单地将带有立方体的表连接回原始表,因为如果两个不同的盒子有相同的立方体计算怎么办。

有没有办法做到这一点?



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3